Welcome to my website. I am always posting links to photo albums, art, technology and other creations. Everything that you will see on my numerous personal sites is powered by the formVistaTM Website Management Engine.

icon.linkedin.jpgicon.twitter.jpg

  • Subscribe to this RSS Feed
  • Importing Maven Project from a Cloned Git Project into Eclipse Juno SR2 with m2e
    04/08/2013 1:53PM

    I was having some funky issues with Eclipse and m2e not properly reading the pom.xml and setting up the .classpath properly when importing an existing Maven project into Eclipse from a cloned git repo.

    When I did the following:

    • Go to File/Import/Maven/Existing Maven Projects
    • Chose the root dir of the the existing directory

    I got the following error:

    An internal error occurred during: "Updating Maven Project".
    Unsupported IClasspathEntry kind=4

    Initially, I solved it with a series of back-and-forth commands in both Eclipse and on the commandline to finally satisfy Eclipse that the dependencies were satisfied.

    Thanks to the help of a friend I found a much easier process which enables me to cleanly clone, and import into Eclipse.

    • Clone your git repo
    • On the command-line in the same directory into which you cloned your source run:
      • $ mvn eclipse:eclipse; mvn eclipse:clean
    • Open Eclipse
    • Select File/Import/Maven/Existing Maven Projects
    • Browse to the directory into which you cloned your source and select that directory
    • Click 'Finish' in the dialog box

    You should now have your project in Eclipse without any compile/dependency errors.

  • Fixing Compile Error: undefined reference to 'dclose' (dlopen, dlsym, and/or dlerror)
    04/01/2013 8:29AM

    I am running an Ubuntu 12.10 machine and I had to compile and install a jsvc binary for an older version that I didn't have a package that I could install via dpkg or apt-get install.

    Running configure came off without a hitch.

    Running make resulted in the following error:

    gcc -ldl -lpthread jsvc-unix.o libservice.a -o ../jsvc
    libservice.a(dso-dlfcn.o): In function `dso_unlink':
    /usr/local/src/daemon-1.0.1/src/native/unix/native/dso-dlfcn.c:41: undefined reference to `dlclose'
    libservice.a(dso-dlfcn.o): In function `dso_link':
    /usr/local/src/daemon-1.0.1/src/native/unix/native/dso-dlfcn.c:36: undefined reference to `dlopen'
    libservice.a(dso-dlfcn.o): In function `dso_symbol':
    /usr/local/src/daemon-1.0.1/src/native/unix/native/dso-dlfcn.c:47: undefined reference to `dlsym'
    libservice.a(dso-dlfcn.o): In function `dso_error':
    /usr/local/src/daemon-1.0.1/src/native/unix/native/dso-dlfcn.c:52: undefined reference to `dlerror'
    collect2: error: ld returned 1 exit status
    make[1]: *** [jsvc] Error 1
    make[1]: Leaving directory `/usr/local/src/daemon-1.0.1/src/native/unix/native'
    make: *** [native/all] Error 2

    I double checked that the Ubuntu packages that provide those libs were installed (libc6 and libc6-dev).

    It turns out that, for some reason, under this distro that the GCC linker requires the -ldl argument to be listed last.  So that the invocation of:

    gcc -ldl -lpthread jsvc-unix.o libservice.a -o ../jsvc

    needs to be:

    gcc jsvc-unix.o libservice.a -o ../jsvc -lpthread -ldl

    To make this happen, do the following:

    Edit configure:

    For your $host_os update:

    LDFLAGS="$LDFLAGS -ldl -lpthread"

    to

    LDFLAGS="$LDFLAGS -lpthread -ldl"

    Run # ./configure

    Then edit the ./native/Makefile:

    jsvc: jsvc-unix.o libservice.a
            $(LDCMD) $(LDFLAGS) jsvc-unix.o libservice.a -o ../jsvc


            to

    jsvc: jsvc-unix.o libservice.a
            $(LDCMD) jsvc-unix.o libservice.a -o ../jsvc $(LDFLAGS)

    # make

    It should compile without any complaints

  • Configuring the Number of Workspaces on Ubuntu 12.10
    03/28/2013 11:40AM

    I typically like to have more than 4 workspaces for my X Windows sessions.

    Under Ubuntu 12.10 there is a little trickey involved in updating the default configuration.

    First you need to install the compizconfig-settings-manager.  This will enable you to configure the workspace switcher and some other system configs.  Be careful, this will also allow you to break things so only configure what you understand via compizconfig-settings-manager.

    Install ccsm:

    • # apt-get install compizconfig-settings-manager

    To run invoke (as root):

    • # ccsm

    To configure Workspace Switcher:

    • Go to 'General Options'
    • Click on 'Desktop Size' tab
    • Edit the 'Horizontal Virtual Size' and 'Vertical Virtual Size' to add additional workspaces

     

    Click the 'Back' and then the 'Close' button

  • Running a Headless Virtual Machine under VMPlayer
    03/12/2013 5:10PM

    If you want to run a headless VM under VMPlayer simply add the following to your vmware preferences file ($HOME/.vmware/preferences):

    pref.vmplayer.exit.vmAction = "disconnect"

    Restart VMPlayer and fire up your VM.  When you quit that VMPlayer instance it will ask you if you are sure that you want to quit and leave the virtual machine running.

    When you quit the player the VM will now be running headless.

  • Preventing resolv.conf From Being Automatically Overwritten with Each Restart or network restart
    03/12/2013 4:56PM

    I am running CentoOS 6.3 and have set up a local nameserver.  As a result, I've customized my version of /etc/resolv.conf to include both the IP of my local nameserver as well as a domain and search configuration directives.

    When I restarted the machine, or if I restarted networking resolv.conf was overwritten.

    It turns out that the contents of the ifcfg-ethN files determine how the network scripts behave and how, or if resolv.conf is modified programatically.

    To prevent this make sure NOT to include a DNS1 (or 2, etc) entry in your ifcfg file and make sure TO include a PEERDNS=no entry.

Advanced Search

Categories

Archives